package com.rchat.pocmini.media;

import com.airtalkee.sdk.AirtalkeeMediaAudioControl;
import com.airtalkee.sdk.OnMediaAudioControlPlayListener;
import com.airtalkee.sdk.OnMediaAudioControlRecordListener;

/**
 * Created by ljd on 2017/2/8.
 * <p>
 * AirtalkeeMediaAudioControl 接口规范
 */

public interface PocMediaAudioControlInterface {


    /**
     * 注册监听器，如第三方需要接管Record。可设置此接口，Listener对象不为空时，
     * SDK将通过OnMediaAudioControlRecordListener来及时通知第三方应用音频录制开始或停止
     *
     * @param listener 监听器
     */
    void setOnMediaAudioControlRecord(OnMediaAudioControlRecordListener listener);

    /**
     * 注册监听器，如第三方需要接管Player，可设置此接口。Listener对象不为空时，
     * SDK将通过OnMediaAudioControlPlayListener来及时通知第三方应用音频播放开始或停止。
     *
     * @param listener 监听器
     */
    void setOnMediaAudioControlPlayListener(OnMediaAudioControlPlayListener listener);

    /**
     * 音频录制过程中传送数据
     *
     * @param mode    语音模式
     * @param pcmData 第三方接管录制后，索产生的PCM数据，PCM数据必须遵循以下配置：
     *                1.采样率8000
     *                2.MONO单通道
     *                3.16bit编码格式
     */
    void putAudioRecorderData(int mode, byte[] pcmData);
}
